package com.allwees.bs.module.ums.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.allwees.bs.module.base.service.BoService;
import com.allwees.bs.module.ums.entity.Customer;
import com.allwees.bs.module.ums.req.CustomerUpdateInfluencerReq;
import com.allwees.bs.module.ums.req.CustomerUpdatePromCodeReq;
import com.allwees.bs.module.ums.req.CustomerUpdateShareCodeReq;
import com.allwees.bs.module.ums.req.query.CustomerQueryReq;


public interface CustomerService extends BoService<Customer> {
    /**
     * 分页
     *
     * @param page
     * @param req
     * @return
     */
    Page<Customer> page(Page<Customer> page, CustomerQueryReq req);

    /**
     * 禁用
     *
     * @param uuid
     */
    void disable(String uuid);


    void setInfluencerAndBelongName(String uuid, CustomerUpdateInfluencerReq req);

    /**
     * 启用
     *
     * @param uuid
     */
    void enable(String uuid);

    /**
     *
     */
    void refreshPromoCode(int count);

    /**
     * 修改优惠码
     *
     * @param req
     */
    void updatePromoCode(CustomerUpdatePromCodeReq req);


    /**
     * 修改邀请码
     *
     * @param req
     */
    void updateShareCode(CustomerUpdateShareCodeReq req);

    /**
     * @param customer
     */
    void saveOfIcs(Customer customer);
}
